package com.czm.art_light.constant;

/**
 * redis相关常量
 */
public class RedisConstant {
    /**
     * 艺术作品 布隆过滤器KEY（存储ID）
     */
    public static final String ART_WORK_BLOOM_FILTER_KEY = "art::work::bloom::filter";

    /**
     * 艺术家 布隆过滤器KEY（存储ID）
     */
    public static final String ART_ARTIST_BLOOM_FILTER_KEY = "art::artist::bloom::filter";

    /**
     * 话题 布隆过滤器KEY（存储ID）
     */
    public static final String ART_TOPIC_BLOOM_FILTER_KEY = "art::topic::bloom::filter";

    /**
     * 流派 布隆过滤器KEY（存储ID）
     */
    public static final String ART_MOVEMENT_BLOOM_FILTER_KEY = "art::movement::bloom::filter";

    /**
     * 类别 布隆过滤器KEY（存储ID）
     */
    public static final String ART_CATEGORY_BLOOM_FILTER_KEY = "art::category::bloom::filter";

    /**
     * 初始化到布隆过滤器的枚举类
     */
    public enum BloomFilterEnum {
        /**
         * 艺术作品
         */
        ARTWORK("艺术作品"),

        /**
         * 艺术家
         */
        ARTIST("艺术家"),

        /**
         * 话题
         */
        TOPIC("话题"),

        /**
         * 流派
         */
        MOVEMENT("流派"),

        /**
         * 类别
         */
        CATEGORY("类别");

        private final String name;

        BloomFilterEnum(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }
    }


    /**
     * 布隆过滤器 预计存储元素个数
     */
    public static final Long BLOOM_FILTER_EXPECTED_ELEMENTS = 1000000L;

    /**
     * 布隆过滤器 误判率
     */
    public static final double BLOOM_FILTER_ERROR_RATE = 0.00001;
}
